{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 读取数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>日期</th>\n",
       "      <th>城市</th>\n",
       "      <th>新增确诊</th>\n",
       "      <th>新增治愈</th>\n",
       "      <th>新增死亡</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2020-01-10</td>\n",
       "      <td>武汉</td>\n",
       "      <td>41</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2020-01-11</td>\n",
       "      <td>武汉</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2020-01-12</td>\n",
       "      <td>武汉</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2020-01-15</td>\n",
       "      <td>武汉</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2020-01-16</td>\n",
       "      <td>武汉</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          日期  城市  新增确诊  新增治愈  新增死亡\n",
       "0 2020-01-10  武汉    41     2     1\n",
       "1 2020-01-11  武汉     0     4     0\n",
       "2 2020-01-12  武汉     0     1     0\n",
       "3 2020-01-15  武汉     0     5     1\n",
       "4 2020-01-16  武汉     4     3     0"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 读取数据\n",
    "import pandas as pd\n",
    "data = pd.read_excel(\"附件1.xlsx\",header =0)#导入数据\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据处理，更直观的看出每个城市累计确诊、治愈、死亡的数量变化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\86178\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:9: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  if __name__ == '__main__':\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "            城市  累计确诊人数  累计治愈人数  累计确诊死亡\n",
      "日期                                    \n",
      "2020-01-10  武汉      41       2       1\n",
      "2020-01-15  武汉      41      12       2\n",
      "2020-02-10  武汉   18454    1173     748\n",
      "2020-02-15  武汉   39462    3151    1233\n",
      "2020-03-10  武汉   49978   33264    2423\n",
      "2020-03-15  武汉   50003   38537    2469\n",
      "2020-04-10  武汉   50008   46154    2577\n",
      "2020-04-15  武汉   50008   46325    2579\n",
      "2020-05-10  武汉   50339   46464    3869\n",
      "2020-05-15  武汉   50339   46464    3869\n",
      "2020-06-10  武汉   50340   46471    3869\n",
      "2020-06-15  武汉   50340   46471    3869\n",
      "            城市  累计确诊人数  累计治愈人数  累计确诊死亡\n",
      "日期                                    \n",
      "2020-01-10  深圳       0       0       0\n",
      "2020-01-15  深圳       0       0       0\n",
      "2020-02-10  深圳     375      56       0\n",
      "2020-02-15  深圳     414     115       0\n",
      "2020-03-10  深圳     417     387       3\n",
      "2020-03-15  深圳     417     401       3\n",
      "2020-04-10  深圳     419     414       3\n",
      "2020-04-15  深圳     419     414       3\n",
      "2020-05-10  深圳     423     414       3\n",
      "2020-05-15  深圳     423     414       3\n",
      "2020-06-10  深圳     423     414       3\n",
      "2020-06-15  深圳     423     414       3\n",
      "            城市  累计确诊人数  累计治愈人数  累计确诊死亡\n",
      "日期                                    \n",
      "2020-01-10  保定       0       0       0\n",
      "2020-01-15  保定       0       0       0\n",
      "2020-02-10  保定      30       9       0\n",
      "2020-02-15  保定      32      19       0\n",
      "2020-03-10  保定      32      32       0\n",
      "2020-03-15  保定      32      32       0\n",
      "2020-04-10  保定      32      32       0\n",
      "2020-04-15  保定      32      32       0\n",
      "2020-05-10  保定      32      32       0\n",
      "2020-05-15  保定      32      32       0\n",
      "2020-06-10  保定      32      32       0\n",
      "2020-06-15  保定      36      32       0\n"
     ]
    }
   ],
   "source": [
    "# 整理数据 先将数据中的城市分类，再对逐个城市逐行即每个日期（缺失的日期补全）进行累加得到累计确诊，治愈，死亡人数。\n",
    "data[\"城市\"].value_counts()#排序城市\n",
    "data.rename(columns={'新增确诊':'累计确诊人数'},inplace=True)#更改列标签\n",
    "data.rename(columns={'新增治愈':'累计治愈人数'},inplace=True)#更改列标签\n",
    "data.rename(columns={'新增死亡':'累计确诊死亡'},inplace=True)#更改列标签\n",
    "index = pd.date_range('20200110','20200630')#创建日期索引\n",
    "for i in range(0,len(data[\"城市\"].value_counts())):#对城市进行循环\n",
    "    da = data[data[\"城市\"] == data[\"城市\"].value_counts().index[i]]#得到只包含一个城市的数据\n",
    "    da['日期'] = pd.to_datetime(da['日期'])\n",
    "    da = da.set_index('日期').reindex(index,fill_value=0)#进行日期的补全\n",
    "    da['城市'] = data['城市'].value_counts().index[i]#补全城市列数据\n",
    "    da = da.rename_axis('日期').reset_index()#保留日期列\n",
    "    da['累计确诊人数'].astype('int')\n",
    "    da['累计治愈人数'].astype('int')\n",
    "    da['累计确诊死亡'].astype('int')\n",
    "    da['累计确诊人数'] = da['累计确诊人数'].cumsum()#累加\n",
    "    da['累计治愈人数'] = da['累计治愈人数'].cumsum()#累加\n",
    "    da['累计确诊死亡'] = da['累计确诊死亡'].cumsum()#累加\n",
    "    list1 =[]#空列表拿来存放想找到的城市的索引\n",
    "    list2 = ['武汉','深圳','保定']\n",
    "    if data[\"城市\"].value_counts().index[i] in list2:#判断是否是要列出数据的城市\n",
    "        list1.append(i)#将索引存起来\n",
    "    if i in list1:#判断城市\n",
    "        da['日期'] = pd.to_datetime(da['日期'])#转换类型供查找\n",
    "        da1 = da.set_index('日期')#将日期作为索引\n",
    "        s1 = da1['2020-01-10':'2020-01-10']#存放第一个数据\n",
    "        for i in range(1, 7):#数据是从20年1月到6月的 故range(1,7)\n",
    "            s = da1['2020-0{}-15'.format(i):'2020-0{}-15'.format(i)]\n",
    "            s1 = pd.concat([s1, s], axis=0, join='outer')#数据合并\n",
    "            s = da1['2020-0{}-10'.format(i+1):'2020-0{}-10'.format(i+1)]\n",
    "            s1 = pd.concat([s1, s], axis=0, join='outer')\n",
    "        print(s1)#打印出来\n",
    "    da = da.set_index(\"城市\")  # 将城市作为索引 存入csv是第一行便是城市\n",
    "    if i == 0:\n",
    "        da.to_csv(\"task3_1.csv\", index=True, na_rep='0', encoding='GB18030',mode = 'a')#写入csv文件，包括表头和索引 encoding需要用GB18030否则文字乱码\n",
    "    else:\n",
    "        da.to_csv(\"task3_1.csv\", index=True, header = None,na_rep='0', encoding='GB18030', mode='a')#追加写入，不包括表头\n",
    "\n",
    "\n",
    "# 根据附件1中“城市疫情”的数据统计各城市自首次通报确诊病例后至 6 月 30日的每日累计确诊人数、累计治愈人数和累计死亡人数，将结果保存为“task3_1.csv”"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 结合附件 1“城市省份对照表”统计各省级行政单位按日新增和累计数据，将结果保存为“task3_2.csv”"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "            新增确诊  新增治愈  新增死亡  省份  累计确诊人数  累计治愈人数  累计确诊死亡\n",
      "日期                                                      \n",
      "2020-01-15     0     5     1  湖北      41      12       2\n",
      "2020-02-15  1839   849   139  湖北   56197    5860    1596\n",
      "2020-03-15     4   816    14  湖北   67798   55247    3099\n",
      "2020-04-15     0    33     0  湖北   67803   63477    3222\n",
      "2020-05-15     0     0     0  湖北   68134   63616    4512\n",
      "2020-06-15     0     0     0  湖北   68135   63623    4512\n",
      "            新增确诊  新增治愈  新增死亡  省份  累计确诊人数  累计治愈人数  累计确诊死亡\n",
      "日期                                                      \n",
      "2020-01-15     0     0     0  广东       0       0       0\n",
      "2020-02-15    22    50     0  广东    1316     434       2\n",
      "2020-03-15     4     5     0  广东    1361    1292       8\n",
      "2020-04-15     5     0     0  广东    1571    1392       8\n",
      "2020-05-15     0     0     0  广东    1589    1392       8\n",
      "2020-06-15     3     0     0  广东    1628    1394       8\n",
      "            新增确诊  新增治愈  新增死亡  省份  累计确诊人数  累计治愈人数  累计确诊死亡\n",
      "日期                                                      \n",
      "2020-01-15     0     0     0  河北       0       0       0\n",
      "2020-02-15     9    14     0  河北     300     100       3\n",
      "2020-03-15     0     0     0  河北     318     310       6\n",
      "2020-04-15     1     1     0  河北     328     314       6\n",
      "2020-05-15     0     0     0  河北     328     319       6\n",
      "2020-06-15     4     0     0  河北     332     320       6\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "index = pd.date_range('20200110','20200630')\n",
    "def settime(da,sf):#补齐日期\n",
    "    da['日期'] = pd.to_datetime(da['日期'])\n",
    "    da = da.set_index('日期').reindex(index, fill_value=0)\n",
    "    da['省份'] = sf\n",
    "    da = da.rename_axis('日期').reset_index()\n",
    "    return da\n",
    "\n",
    "data_sheet2 = pd.read_excel(\"附件1.xlsx\", header=0, sheet_name=1)  # 导入数据 sheet_name=1读取第二张表\n",
    "list_keys = []  # 存储key\n",
    "list_values = []  # 存储value\n",
    "for i in range(0, len(data_sheet2)):  # 将表2的数据写入列表\n",
    "    list_keys.append(data_sheet2['城市'][i])\n",
    "    list_values.append(data_sheet2['省份'][i])\n",
    "co = dict(zip(list_keys, list_values))  # 转换成城市对应省份的字典 字符串无法直接转换成字典，需要先用zip转换成元组再转换成字典\n",
    "\n",
    "data_sheet1_meiri = pd.read_excel(\"附件1.xlsx\", header=0)  # 导入表1数据 每日数据\n",
    "for i in range(0, len(data_sheet1_meiri)):  # 遍历数据 将城市改为省份\n",
    "    if data_sheet1_meiri['城市'][i] in co.keys():\n",
    "        data_sheet1_meiri.loc[[i], ['城市']] = co[data_sheet1_meiri['城市'][i]]\n",
    "\n",
    "data_sheet1_leiji = pd.read_excel(\"附件1.xlsx\", header=0)  # 导入表1数据 逐行累加数据\n",
    "for i in range(0, len(data_sheet1_leiji)):  # 遍历数据 将城市改为省份\n",
    "    if data_sheet1_leiji['城市'][i] in co.keys():\n",
    "        data_sheet1_leiji.loc[[i], ['城市']] = co[data_sheet1_leiji['城市'][i]]\n",
    "data_sheet1_leiji.rename(columns={'新增确诊': '累计确诊人数'}, inplace=True)  # 更改列标签\n",
    "data_sheet1_leiji.rename(columns={'新增治愈': '累计治愈人数'}, inplace=True)  # 更改列标签\n",
    "data_sheet1_leiji.rename(columns={'新增死亡': '累计确诊死亡'}, inplace=True)  # 更改列标签\n",
    "\n",
    "for i in range(0, len(data_sheet1_meiri[\"城市\"].value_counts())):  # 对城市进行循环\n",
    "    da_sheet1_meiri1 = data_sheet1_meiri[data_sheet1_meiri[\"城市\"] == data_sheet1_meiri[\"城市\"].value_counts().index[i]]  # 得到只包含一个城市的数据 但是日期存在重复\n",
    "    da_sheet1_leiji1 = data_sheet1_leiji[data_sheet1_leiji[\"城市\"] == data_sheet1_leiji[\"城市\"].value_counts().index[i]]  # 得到只包含一个城市的数据 但是日期存在在重复\n",
    "    da_sheet1_meiri = da_sheet1_meiri1.groupby('日期', as_index=False).sum()#得到日期数据整合好的\n",
    "    da_sheet1_leiji = da_sheet1_leiji1.groupby('日期', as_index=False).sum()  #得到日期数据整合好的\n",
    "    da_sheet1_meiri['省份'] = data_sheet1_meiri[\"城市\"].value_counts().index[i]#加入省份列\n",
    "    da_sheet1_leiji['省份'] = data_sheet1_leiji[\"城市\"].value_counts().index[i]  # 加入省份列\n",
    "    da_sheet1_leiji = settime(da_sheet1_leiji,data_sheet1_leiji[\"城市\"].value_counts().index[i])\n",
    "    da_sheet1_meiri = settime(da_sheet1_meiri,data_sheet1_meiri[\"城市\"].value_counts().index[i])\n",
    "\n",
    "    da_sheet1_leiji['累计确诊人数'] = da_sheet1_leiji['累计确诊人数'].cumsum()\n",
    "    da_sheet1_leiji['累计治愈人数'] = da_sheet1_leiji['累计治愈人数'].cumsum()\n",
    "    da_sheet1_leiji['累计确诊死亡'] = da_sheet1_leiji['累计确诊死亡'].cumsum()\n",
    "\n",
    "\n",
    "    da = pd.concat([da_sheet1_meiri, da_sheet1_leiji], axis=1, join='inner')\n",
    "    da = da.loc[:, ~da.columns.duplicated()]  # ~df.columns.duplicated()去除重复列\n",
    "\n",
    "    list_index = []  # 空列表拿来存放想找到的省份的索引\n",
    "    list_cs = ['湖北', '广东', '河北']\n",
    "    if data_sheet1_meiri[\"城市\"].value_counts().index[i] in list_cs:  # 判断是否是要列出数据的省份\n",
    "        list_index.append(i)  # 将索引存起来\n",
    "    if i in list_index:  # 判断省份\n",
    "        da['日期'] = pd.to_datetime(da['日期'])  # 转换类型供查找\n",
    "        da1 = da.set_index('日期')  # 将日期作为索引\n",
    "        s1 = da1['2020-01-15':'2020-01-15']  # 存放第一个数据\n",
    "        for k in range(2, 7):\n",
    "            s = da1['2020-0{}-15'.format(k):'2020-0{}-15'.format(k)]\n",
    "            s1 = pd.concat([s1, s], axis=0, join='outer')  # 数据合并\n",
    "        print(s1)  # 打印出来\n",
    "\n",
    "    da2 = da.set_index(\"省份\")  # 将省份作为索引 存入csv是第一行便是省份\n",
    "    if i == 0:\n",
    "        da2.to_csv(\"task3_2.csv\", index=True, na_rep='0',header=True, encoding='GB18030',\n",
    "                   mode='a')  # 写入csv文件，包括表头和索引 encoding需要用GB18030否则文字乱码\n",
    "    else:\n",
    "        da2.to_csv(\"task3_2.csv\", index=True, header=None, na_rep='0', encoding='GB18030',\n",
    "                   mode='a')  # 追加写入，不包括表头\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  根据附件 1“A 市涉疫场所”在平面图中分别绘制该市第 6 天和第 10 天的疫情传播风险区域"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "list = [6,10]\n",
    "data_sheet3 = pd.read_excel(\"附件1.xlsx\", header=0, sheet_name=3)  # 导入数据 sheet_name=3读取第四张表\n",
    "for i in list:\n",
    "    da_sheet3 = data_sheet3[data_sheet3['通报日期'] == i]\n",
    "    x, y = da_sheet3['横坐标（公里）'], da_sheet3['纵坐标（公里）']\n",
    "    label = da_sheet3['疫情场所']\n",
    "    figure = plt.figure(figsize=(10, 8))\n",
    "    c1 = np.random.rand(1,len(x))\n",
    "    for j in range(0,len(x)):\n",
    "        k =label.iloc[j]\n",
    "        plt.scatter(x.iloc[j], y.iloc[j], s=4300,label = k)  # 对于圆形，圆的面积为 area = pi/4*s .\n",
    "    plt.legend(prop={'family': 'SimHei', 'size': 15})  # fontproperties='SimHei'字体设置显示中文\n",
    "    plt.xlabel('横坐标（公里）')\n",
    "    plt.ylabel('纵坐标（公里）')\n",
    "    plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置字体显示中文\n",
    "    plt.rcParams['axes.unicode_minus'] = False  # 正常显示负号\n",
    "    plt.xlim(-15, 0)\n",
    "    plt.ylim(-4, 11)\n",
    "    plt.grid(True)\n",
    "    plt.title('第{}天'.format(i))\n",
    "    plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 可视化，展示国内新冠疫情汇总概要信息、时空变化情况、重点关注区域等"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 185,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[35765, 2995, 2600, 2110, 1945, 1485, 1430, 1190, 1035, 1010, 1010, 775, 760, 720, 505, 500, 480, 455, 400, 300, 285, 230, 175, 155, 145, 130, 115, 90, 85, 65, 50, 45, 35, 5]\n"
     ]
    },
    {
     "ename": "TypeError",
     "evalue": "'list' object is not callable",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-185-8d28f7ed1f45>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m     51\u001b[0m             \u001b[0mMap\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     52\u001b[0m                 .add(series_name=\"确诊病例\",  # 系列名称，用于 tooltip 的显示，legend 的图例筛选。\n\u001b[1;32m---> 53\u001b[1;33m                      \u001b[0mdata_pair\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mlist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mz\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mz\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     54\u001b[0m                      maptype='china')  # 地图类型\n\u001b[0;32m     55\u001b[0m                 .set_global_opts(  # 全局配置项\n",
      "\u001b[1;32m<ipython-input-185-8d28f7ed1f45>\u001b[0m in \u001b[0;36m<listcomp>\u001b[1;34m(.0)\u001b[0m\n\u001b[0;32m     51\u001b[0m             \u001b[0mMap\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     52\u001b[0m                 .add(series_name=\"确诊病例\",  # 系列名称，用于 tooltip 的显示，legend 的图例筛选。\n\u001b[1;32m---> 53\u001b[1;33m                      \u001b[0mdata_pair\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mlist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mz\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mz\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     54\u001b[0m                      maptype='china')  # 地图类型\n\u001b[0;32m     55\u001b[0m                 .set_global_opts(  # 全局配置项\n",
      "\u001b[1;31mTypeError\u001b[0m: 'list' object is not callable"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "from pyecharts import options as opts\n",
    "from pyecharts.charts import Map,Timeline,Pie,Page,Line\n",
    "data = pd.read_csv(\"task3_2.csv\",header = 0,encoding='GB18030')#导入数据\n",
    "\n",
    "tr = Timeline().add_schema(play_interval=1000, height=40, is_loop_play=True,is_auto_play=True,control_position = \"left\",is_rewind_play= False)#时间轴\n",
    "tl = Timeline().add_schema(play_interval=1000, height=40, is_loop_play=True,is_auto_play=True,control_position = \"left\",is_rewind_play= False)#时间轴\n",
    "lis1 = []#存放日期\n",
    "lis2 = []#存放确诊人数\n",
    "lis3 = []#存放治愈人数\n",
    "lis4 = []#存放死亡人数\n",
    "for i in range(1,7):#以月为单位进行遍历 得到1月到i月各个省份的累计确诊，治愈，死亡人数\n",
    "    lis1.append(\"2020-0{}\".format(i))#存入日期\n",
    "    data2 = data#防止改变data\n",
    "    data2 = data2.set_index('日期')#将日期作为索引\n",
    "    data2 = data2.sort_index()#对日期进行排序 以便于对其进行切分\n",
    "    if i%2 == 1:#1，3，5月\n",
    "        data2 = data2.truncate('2020-01','2020-0{}-31'.format(i))#对数据进行切分，得到1月到i月的全部数据\n",
    "    else:\n",
    "        if i == 2:#2月\n",
    "            data2 = data2.truncate('2020-01','2020-0{}-28'.format(i))#对数据进行切分，得到1月到i月的全部数据\n",
    "        else:#4，6月\n",
    "            data2 = data2.truncate('2020-01','2020-0{}-30'.format(i))#对数据进行切分，得到1月到i月的全部数据\n",
    "    data2[['新增确诊','新增治愈','新增死亡','累计确诊人数' ,'累计治愈人数','累计确诊死亡']]=data2[['新增确诊','新增治愈','新增死亡','累计确诊人数' ,'累计治愈人数','累计确诊死亡']].astype(int)\n",
    "    data2 = data2.groupby('省份', as_index=False).sum()#对1月到i月的各个省份的各项数据进行合并 此时新增确诊人数即为累计确诊人数\n",
    "    data2['日期'] = '2020-0{}'.format(i)#加入日期列\n",
    "    lis2.append(int(data2.groupby('日期').sum()['新增确诊']))#存入确诊人数\n",
    "    lis3.append(int(data2.groupby('日期').sum()['新增治愈']))#存入治愈人数\n",
    "    lis4.append(int(data2.groupby('日期').sum()['新增死亡']))#存入死亡人数\n",
    "\n",
    "for i in range(1,7):#以月为单位进行遍历\n",
    "    data1 = data#防止改变data\n",
    "    data1 = data1.set_index('日期')#将日期作为索引\n",
    "    data1 = data1.sort_index()#对日期进行排序 以便于对其进行切分\n",
    "    if i%2 == 1:\n",
    "        data1 = data1.truncate('2020-01','2020-0{}-31'.format(i))\n",
    "    else:\n",
    "        if i == 2:\n",
    "            data1 = data1.truncate('2020-01','2020-0{}-28'.format(i))\n",
    "        else:\n",
    "            data1 = data1.truncate('2020-01','2020-0{}-30'.format(i))\n",
    "    data1[['新增确诊','新增治愈','新增死亡','累计确诊人数' ,'累计治愈人数','累计确诊死亡']]=data1[['新增确诊','新增治愈','新增死亡','累计确诊人数' ,'累计治愈人数','累计确诊死亡']].astype(int)\n",
    "    data1 = data1.groupby('省份', as_index=False).sum()#对1月到i月的各个省份的各项数据进行合并 此时新增确诊人数即为累计确诊人数  去除了日期列\n",
    "    data1['日期'] = '2020-0{}'.format(i)#加入日期列\n",
    "    data2 =data1\n",
    "    data2 = data2.sort_values(by='新增确诊', ascending=False)#从大到小排序‘新增确诊’这一列，方便得到累计确诊人数前五的省份\n",
    "    x = data2['省份'].tolist() #转换为list\n",
    "    y = data2['新增确诊'].tolist()\n",
    "    print(y)\n",
    "    map = (#进行大屏显示 画地图\n",
    "            Map()\n",
    "                .add(series_name=\"确诊病例\",  # 系列名称，用于 tooltip 的显示，legend 的图例筛选。\n",
    "                     data_pair=[list(z) for z in zip(x, y)],\n",
    "                     maptype='china')  # 地图类型\n",
    "                .set_global_opts(  # 全局配置项\n",
    "                title_opts=opts.TitleOpts(title='疫情地图'),  # title_opts = opts.TitleOpts()主标题函数\n",
    "                visualmap_opts=opts.VisualMapOpts(  # visualmap_opts=opts.VisualMapOpts()视觉映射函数\n",
    "                    is_piecewise=True,  # 是否分段\n",
    "                    # 自定义的每一段的范围，以及每一段的文字，以及每一段的特别的样式。\n",
    "                    pieces=[{\"max\": 9, \"min\": 0, \"label\": \"0-9\", \"color\": \"#FFECEC\"},\n",
    "                            {\"max\": 99, \"min\": 10, \"label\": \"10-99\", \"color\": \"\t#FFB5B5\"},\n",
    "                            {\"max\": 499, \"min\": 100, \"label\": \"100-4999\", \"color\": \"#ff7575\"},\n",
    "                            {\"max\": 999, \"min\": 500, \"label\": \"500-999\", \"color\": \"#FF2D2D\"},\n",
    "                            {\"max\": 4999, \"min\": 1000, \"label\": \"1000-4999\", \"color\": \"\t#EA0000\"},\n",
    "                            {\"max\": 9999, \"min\": 5000, \"label\": \"5000-9999\", \"color\": \"#AE0000\"},\n",
    "                            {\"max\": 999999, \"min\": 9999, \"label\": \">9999\", \"color\": \"\t#750000\"},]\n",
    "                )\n",
    "            )\n",
    "        )\n",
    "    pie = (#画饼图\n",
    "        Pie()\n",
    "\n",
    "            .add(\n",
    "            series_name=\"累计确诊\",\n",
    "            radius=[\"40%\", \"55%\"],\n",
    "            data_pair=[list(z) for z in zip(x[:3], y[:3])],\n",
    "            label_opts=opts.LabelOpts(\n",
    "                position=\"outside\",\n",
    "                formatter=\"{a|{a}}{abg|}\\n{hr|}\\n {b|{b}: }{c}  {per|{d}%}  \",\n",
    "                background_color=\"#eee\",\n",
    "                border_color=\"#aaa\",\n",
    "                border_width=1,\n",
    "                border_radius=4,\n",
    "                rich={\n",
    "                    \"a\": {\"color\": \"#999\", \"lineHeight\": 22, \"align\": \"center\"},\n",
    "                    \"abg\": {\n",
    "                        \"backgroundColor\": \"#e3e3e3\",\n",
    "                        \"width\": \"100%\",\n",
    "                        \"align\": \"right\",\n",
    "                        \"height\": 22,\n",
    "                        \"borderRadius\": [4, 4, 0, 0],\n",
    "                    },\n",
    "                    \"hr\": {\n",
    "                        \"borderColor\": \"#aaa\",\n",
    "                        \"width\": \"100%\",\n",
    "                        \"borderWidth\": 0.5,\n",
    "                        \"height\": 0,\n",
    "                    },\n",
    "                    \"b\": {\"fontSize\": 16, \"lineHeight\": 33},\n",
    "                    \"per\": {\n",
    "                        \"color\": \"#eee\",\n",
    "                        \"backgroundColor\": \"#334455\",\n",
    "                        \"padding\": [2, 4],\n",
    "                        \"borderRadius\": 2,\n",
    "                    },\n",
    "                },\n",
    "            )\n",
    "        )\n",
    "            .set_global_opts(legend_opts=opts.LegendOpts(pos_left=\"left\", orient=\"vertical\"))\n",
    "            .set_series_opts(\n",
    "            tooltip_opts=opts.TooltipOpts(\n",
    "                trigger=\"item\", formatter=\"{a} <br/>{b}: {c} ({d}%)\"\n",
    "            )\n",
    "        )\n",
    "    )\n",
    "\n",
    "    line = (#画折线图\n",
    "        Line()\n",
    "            .add_xaxis(xaxis_data = lis1)\n",
    "            .add_yaxis(\"累计确诊人数\", y_axis=lis2, is_smooth=True)\n",
    "            .add_yaxis(\"累计治愈人数\", y_axis=lis3, is_smooth=True)\n",
    "            .add_yaxis(\"累计确诊死亡\", y_axis=lis4, is_smooth=True)\n",
    "            .set_series_opts(\n",
    "                areastyle_opts=opts.AreaStyleOpts(opacity=0.5),\n",
    "                label_opts=opts.LabelOpts(is_show=False),\n",
    "             )\n",
    "            .set_global_opts(\n",
    "            title_opts=opts.TitleOpts(title=\"全国疫情\"),\n",
    "            tooltip_opts=opts.TooltipOpts(trigger=\"axis\", axis_pointer_type=\"cross\"),\n",
    "            yaxis_opts=opts.AxisOpts(\n",
    "                type_=\"value\",\n",
    "                axistick_opts=opts.AxisTickOpts(is_show=True),\n",
    "                splitline_opts=opts.SplitLineOpts(is_show=True),\n",
    "            ),\n",
    "            xaxis_opts=opts.AxisOpts(type_=\"category\", boundary_gap=False),\n",
    "        )\n",
    "    )\n",
    "    tl.add(pie, \"2020-0{}\".format(i))# 将日期加入到timeline中\n",
    "    tr.add(map, \"2020-0{}\".format(i))  # 将日期加入到timeline中\n",
    "page = Page(layout=Page.DraggablePageLayout)#合并在一页\n",
    "page.add(tr,tl,line)\n",
    "page.render('国内疫情.html')#将结果保存\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
